gtk4.git
7 years agooverlay: Don't offset the main window snapshot
Timm Bäder [Sun, 13 Jan 2019 04:41:43 +0000 (05:41 +0100)]
overlay: Don't offset the main window snapshot

We need the node without an offset applied.

Fixes the rose picture being offset in tests/testoverlay

7 years agotestoverlay: Re-enable blurring
Timm Bäder [Sun, 13 Jan 2019 04:28:44 +0000 (05:28 +0100)]
testoverlay: Re-enable blurring

Accidentally disabled in 8b14c8d0a820e6617bd72a39a53d2ae6fa7b242b

7 years agolabel: Add missing nullable annotation
Timm Bäder [Sat, 12 Jan 2019 07:03:47 +0000 (08:03 +0100)]
label: Add missing nullable annotation

7 years agoUpdate Polish translation
Piotr Drąg [Sat, 12 Jan 2019 12:19:35 +0000 (13:19 +0100)]
Update Polish translation

7 years agospinbutton: Use increment/decrement icon names
Timm Bäder [Fri, 11 Jan 2019 17:17:08 +0000 (18:17 +0100)]
spinbutton: Use increment/decrement icon names

And add list-{remove,add}-symbolic as fallback.

Fixes #1569

7 years agolabel: Skip updating link state if we have no layout
Timm Bäder [Fri, 11 Jan 2019 16:46:12 +0000 (17:46 +0100)]
label: Skip updating link state if we have no layout

This can happen whenever the ::activate-link handler sets different
markup on the label, causing all links to be recreated. In this case,
the GtkLabelLink* passed to emit_activate_link is garbage after the
g_signal_emit call and we shouldn't try to do anything with it.

Fixes #1498

7 years agosnapshot: Get new GArray item directly
Timm Bäder [Fri, 11 Jan 2019 09:05:44 +0000 (10:05 +0100)]
snapshot: Get new GArray item directly

Instead of building it up ourselves, then coping it into the GArray and
then getting the last element of that array.

7 years agoUse the IEC power symbols for GtkSwitch labels
Emmanuele Bassi [Fri, 11 Jan 2019 15:21:09 +0000 (15:21 +0000)]
Use the IEC power symbols for GtkSwitch labels

Unicode 9.0 introduced glyps for the "on" and "off" power states, in the
form of:

 - U+23FD POWER ON SYMBOL, or ⏽
 - U+2B58 HEAVY CIRCLE, or ⭘

With `HEAVY CIRCLE` as "power off symbol" selected to avoid adding yet
another circle to the standard.

Since we moved GtkSwitch to always show glyphs instead of (translatable)
strings, asking the localisation teams to either come up with a suitable
short string to replace the English "ON" and "OFF", or to fall back to
Unicode glyphs, we should ensure we're using the appropriate symbols to
begin with.

See also: gtk!503 for the corresponding gtk-3-24 change.

7 years agoMerge branch 'wip/muktupavels/listbox-master' into 'master'
Timm Bäder [Fri, 11 Jan 2019 11:38:27 +0000 (11:38 +0000)]
Merge branch 'wip/muktupavels/listbox-master' into 'master'

listbox: set selected_row before emitting signal

See merge request GNOME/gtk!502

7 years agolistbox: set selected_row before emitting signal
Alberts Muktupāvels [Tue, 1 Jan 2019 23:14:17 +0000 (01:14 +0200)]
listbox: set selected_row before emitting signal

Signal emittion was added in 6f857f87dcd9 commit and it seems that
this is only place where selected_row is set after emitting signal.

Because of this gtk_list_box_get_selected_row currently returns NULL
as selected row if selection mode is set to GTK_SELECTION_BROWSE.

7 years agoMerge branch 'wip/dboles/EventControllerKey-docs-4' into 'master'
Timm Bäder [Fri, 11 Jan 2019 09:39:25 +0000 (09:39 +0000)]
Merge branch 'wip/dboles/EventControllerKey-docs-4' into 'master'

EventControllerKey: Add missing documentation bits

See merge request GNOME/gtk!454

7 years agoswitch: Always use I/O
Matthias Clasen [Thu, 10 Jan 2019 22:20:45 +0000 (17:20 -0500)]
switch: Always use I/O

This allows for smaller switches, and goes better with
modern themes that have round switches.

7 years agogl renderer: Dont't try to draw glyphs at scale 0
Timm Bäder [Thu, 10 Jan 2019 16:14:48 +0000 (17:14 +0100)]
gl renderer: Dont't try to draw glyphs at scale 0

Fixes #1475

7 years agogl glyphcache: Only support one dirty glyph per atlas
Timm Bäder [Sun, 6 Jan 2019 14:35:54 +0000 (15:35 +0100)]
gl glyphcache: Only support one dirty glyph per atlas

7 years agotestoverlay: Fix fancy effect
Timm Bäder [Sun, 6 Jan 2019 14:05:25 +0000 (15:05 +0100)]
testoverlay: Fix fancy effect

7 years agoiconcache: Remove unused defines
Timm Bäder [Sun, 6 Jan 2019 10:08:09 +0000 (11:08 +0100)]
iconcache: Remove unused defines

7 years agogl renderer: Remove debug code
Timm Bäder [Sun, 6 Jan 2019 09:59:21 +0000 (10:59 +0100)]
gl renderer: Remove debug code

7 years agogl renderer: Fix hidpi transform nodes
Timm Bäder [Sun, 6 Jan 2019 09:59:01 +0000 (10:59 +0100)]
gl renderer: Fix hidpi transform nodes

7 years agoshadowvalue: Remove unused API
Timm Bäder [Sat, 5 Jan 2019 08:09:58 +0000 (09:09 +0100)]
shadowvalue: Remove unused API

7 years agogl renderer: Only compile the vertex shader once
Timm Bäder [Sun, 6 Jan 2019 05:55:31 +0000 (06:55 +0100)]
gl renderer: Only compile the vertex shader once

All our programs use the same vertex shader, so don't compile it over
and over again. This improves startup times by at least 0.001%, I swear.

7 years agogl renderer: Don't forget the offset when rendering blur nodes
Timm Bäder [Sat, 5 Jan 2019 08:18:27 +0000 (09:18 +0100)]
gl renderer: Don't forget the offset when rendering blur nodes

7 years agoUpdate Spanish translation
Daniel Mustieles [Thu, 10 Jan 2019 08:50:55 +0000 (08:50 +0000)]
Update Spanish translation

7 years agoMerge branch 'patch-1' into 'master'
Timm Bäder [Thu, 10 Jan 2019 06:23:09 +0000 (06:23 +0000)]
Merge branch 'patch-1' into 'master'

Fix a typo in “popup-context-menu” documentation.

See merge request GNOME/gtk!500

7 years agoFix a typo in “popup-context-menu” documentation.
bodqhrohro [Wed, 9 Jan 2019 14:24:29 +0000 (14:24 +0000)]
Fix a typo in “popup-context-menu” documentation.

7 years agoMerge branch 'wip/sadiq/750-gtk4' into 'master'
Timm Bäder [Wed, 9 Jan 2019 11:53:45 +0000 (11:53 +0000)]
Merge branch 'wip/sadiq/750-gtk4' into 'master'

gtkpopover: Fix popover when parent widget is partially visible

Closes #750

See merge request GNOME/gtk!496

7 years agogtkpopover: Fix popover when parent widget is partially visible
Mohammed Sadiq [Wed, 9 Jan 2019 11:06:06 +0000 (16:36 +0530)]
gtkpopover: Fix popover when parent widget is partially visible

fixes https://gitlab.gnome.org/GNOME/gtk/issues/750

7 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 9 Jan 2019 08:52:53 +0000 (09:52 +0100)]
Updated Spanish translation

7 years agoMerge branch 'meson-warning' into 'master'
Emmanuele Bassi [Tue, 8 Jan 2019 14:59:21 +0000 (14:59 +0000)]
Merge branch 'meson-warning' into 'master'

build: Avoid a Meson deprecation warning

See merge request GNOME/gtk!493

7 years agobuild: Avoid a Meson deprecation warning
Emmanuele Bassi [Tue, 8 Jan 2019 14:46:46 +0000 (14:46 +0000)]
build: Avoid a Meson deprecation warning

Using an empty `configuration_data` object to copy a configuration file
is deprecated since Meson 0.47 (released July 2018); the equivalent
behaviour is available by using `copy: true`.

7 years agorevealer: Handle child-visible properly
Benjamin Otte [Tue, 8 Jan 2019 00:29:41 +0000 (01:29 +0100)]
revealer: Handle child-visible properly

The target position is irrelevant for determining if the child should be
visible. When the current position is 0, it needs to be hidden, period.

Fixes #1355

7 years agosettings: Don't special case IM modules
Benjamin Otte [Mon, 7 Jan 2019 23:39:15 +0000 (00:39 +0100)]
settings: Don't special case IM modules

The previous fixes made it unnecessary to hardcode IM modules for
different display types. The code now automatically skips system IM
modules for other displays.

7 years agoimmodule: Check if module matches display
Benjamin Otte [Mon, 7 Jan 2019 23:36:58 +0000 (00:36 +0100)]
immodule: Check if module matches display

When loading IM modules from environment variables or GtkSettings, we
would accept "xim" on Wayland. That is a bad idea.

7 years agoimmodule: Don't load unsupported IM module
Benjamin Otte [Mon, 7 Jan 2019 23:25:08 +0000 (00:25 +0100)]
immodule: Don't load unsupported IM module

The code would technically allow loading the xim module when X11 support
was not compiled in.

This is probably an artificial concern, because it's pretty hard to
compile XIM support without X11 support, but it makes the code clearer,
so there we go.

7 years agoimmodule: Pass a GdkDisplay for default context ID
Benjamin Otte [Mon, 7 Jan 2019 23:22:14 +0000 (00:22 +0100)]
immodule: Pass a GdkDisplay for default context ID

After all, the context depends on the display - we want to use the
wayland context for Wayland,  xim for X11 and so on.

7 years agoimmulticontext: Don't have a global_context_id
Benjamin Otte [Mon, 7 Jan 2019 23:16:52 +0000 (00:16 +0100)]
immulticontext: Don't have a global_context_id

Context IDs are dependant on the display - both because displays can use
different backends, but also because changing the GtkSetting is a
per-display operation.

So just remove the cache.
If it turns out we need a per-display cache, we can add one to
GtkSettings.

7 years agoa11y: Check display in `*grab_cell_focus()`
Olivier Fourdan [Mon, 7 Jan 2019 21:06:57 +0000 (21:06 +0000)]
a11y: Check display in `*grab_cell_focus()`

Calling the accessibility function `grab_focus()` on a `GtkCell` under
Wayland will cause the client to crash.

This is another case of `gdk_x11_get_server_time()` being called
regardless of the actual windowing backend used.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1507
7 years agoflowbox: Accept multipress gesture late
Carlos Garnacho [Wed, 2 Jan 2019 18:10:49 +0000 (19:10 +0100)]
flowbox: Accept multipress gesture late

So it's able to operate properly with the DnD gesture set by
gtk_drag_source_set(). We usually just react on button release,
that's the right time to claim the gesture.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1557
7 years agosearchenginequartz: Fix naming of Beagle @ comment
Daniel Boles [Mon, 7 Jan 2019 20:34:32 +0000 (20:34 +0000)]
searchenginequartz: Fix naming of Beagle @ comment

As funny as that is, it's not very instructive. :P

https://gitlab.gnome.org/GNOME/gtk/merge_requests/490#note_400993

7 years ago[GtkSearchEngineQuartz] Limit the returned hits.
John Ralls [Mon, 7 Jan 2019 00:19:49 +0000 (16:19 -0800)]
[GtkSearchEngineQuartz] Limit the returned hits.

When the result set is larger than the limit.

7 years ago[GtkSearchEngineQuartz] Resolve the path to a GtkFile* for the hit list.
Daniel Boles [Sun, 6 Jan 2019 23:56:57 +0000 (15:56 -0800)]
[GtkSearchEngineQuartz] Resolve the path to a GtkFile* for the hit list.

Instead of a char* path, which the search_hit parser doesn't expect,
causing a crash.

Closes: $https://gitlab.gnome.org/GNOME/gtk/issues/815
7 years agoMerge branch 'fix-corner-resize' into 'master'
Carlos Garnacho [Mon, 7 Jan 2019 18:14:33 +0000 (18:14 +0000)]
Merge branch 'fix-corner-resize' into 'master'

Fix resize corners

See merge request GNOME/gtk!481

7 years agoMerge branch 'commit-docs' into 'master'
Matthias Clasen [Mon, 7 Jan 2019 16:44:41 +0000 (16:44 +0000)]
Merge branch 'commit-docs' into 'master'

docs: Move commit style docs to the contribution guide

See merge request GNOME/gtk!358

7 years agoUpdate Japanese translation
Ryuta Fujii [Sat, 5 Jan 2019 01:16:56 +0000 (01:16 +0000)]
Update Japanese translation

7 years agoUpdate Japanese translation
Ryuta Fujii [Fri, 4 Jan 2019 22:21:18 +0000 (22:21 +0000)]
Update Japanese translation

(cherry picked from commit 69ddfcf1ed165eb9b092f4da8a4b7396290487b0)

7 years agoUpdated Lithuanian translation
Aurimas Černius [Fri, 4 Jan 2019 21:23:00 +0000 (23:23 +0200)]
Updated Lithuanian translation

7 years agoimcontextwayland: (Hopefully) fix if expression
Timm Bäder [Fri, 4 Jan 2019 04:55:26 +0000 (05:55 +0100)]
imcontextwayland: (Hopefully) fix if expression

7 years agoUpdate POTFILES.in
Piotr Drąg [Thu, 3 Jan 2019 18:21:09 +0000 (19:21 +0100)]
Update POTFILES.in

7 years agobuttonbox: Remove redundant if statement
Timm Bäder [Wed, 26 Dec 2018 05:59:51 +0000 (06:59 +0100)]
buttonbox: Remove redundant if statement

This used to do something in the past.

7 years agocolorchooser: Remove extra custom color
Timm Bäder [Sat, 29 Dec 2018 06:38:55 +0000 (07:38 +0100)]
colorchooser: Remove extra custom color

7 years agopopover demo: Fix size-allocate callback signature
Timm Bäder [Sat, 29 Dec 2018 16:09:27 +0000 (17:09 +0100)]
popover demo: Fix size-allocate callback signature

7 years agowindow: Fix state_flags_changed impl name
Timm Bäder [Sun, 30 Dec 2018 05:08:55 +0000 (06:08 +0100)]
window: Fix state_flags_changed impl name

This is unrelated to GdkSurface and was changed by accident.

7 years agostack: Don't queue an unnecessary redraw
Timm Bäder [Sun, 23 Dec 2018 07:23:03 +0000 (08:23 +0100)]
stack: Don't queue an unnecessary redraw

Both queue_allocate and queue_resize already queue a draw.

7 years agoentry: Remove unused struct
Timm Bäder [Tue, 1 Jan 2019 11:21:41 +0000 (12:21 +0100)]
entry: Remove unused struct

7 years agoCheck for the session bus before using it
Matthias Clasen [Thu, 3 Jan 2019 01:35:19 +0000 (20:35 -0500)]
Check for the session bus before using it

Patch by Chris Allen, #475

7 years agoMerge branch 'wip/nbenitezl/move-bookmark-placeholder-index-4' into 'master'
Matthias Clasen [Thu, 3 Jan 2019 01:27:49 +0000 (01:27 +0000)]
Merge branch 'wip/nbenitezl/move-bookmark-placeholder-index-4' into 'master'

gtkplacessidebar.c: move bookmark at the placeholder index

See merge request GNOME/gtk!459

7 years agoMerge branch 'patch-1' into 'master'
Matthias Clasen [Thu, 3 Jan 2019 01:02:07 +0000 (01:02 +0000)]
Merge branch 'patch-1' into 'master'

Zero-fill new GtkTextIter

See merge request GNOME/gtk!455

7 years agoMerge branch 'wip/carlosg/imwayland-for-master' into 'master'
Matthias Clasen [Thu, 3 Jan 2019 00:36:35 +0000 (00:36 +0000)]
Merge branch 'wip/carlosg/imwayland-for-master' into 'master'

Use zwp_text_input_v3 on gtk4

Closes #1317 and #1525

See merge request GNOME/gtk!462

7 years agoFix XChangeProperty calls
Matthias Clasen [Thu, 3 Jan 2019 00:26:56 +0000 (19:26 -0500)]
Fix XChangeProperty calls

They must be long...

Closes: #1556
7 years agoFix resize corners
Matthias Clasen [Thu, 3 Jan 2019 00:08:02 +0000 (19:08 -0500)]
Fix resize corners

I was stuck in an X session and noticed that my resize corners
all got east or north cursors. It turns out that gnome-shell
does not properly advertise support for edge constraints under X11,
and the absence of that makes the code for determining the edge
under the cursor misbehave.

This change should fix that.

7 years agoMerge branch 'wip/carlosg/revealer-fix-interrupted-animations-master' into 'master'
Timm Bäder [Wed, 2 Jan 2019 08:50:25 +0000 (08:50 +0000)]
Merge branch 'wip/carlosg/revealer-fix-interrupted-animations-master' into 'master'

revealer: Fully set the target state if unmapped during animation

See merge request GNOME/gtk!466

7 years agoimage: Avoid some unnecessary signal connections
Timm Bäder [Sun, 30 Dec 2018 19:37:48 +0000 (20:37 +0100)]
image: Avoid some unnecessary signal connections

Equivalent if fd9879e5ffba2c58b897155b39ff79584b3618e0 but for GtkImage.

7 years agoimage: Indentation fix
Timm Bäder [Sun, 30 Dec 2018 19:25:21 +0000 (20:25 +0100)]
image: Indentation fix

7 years agogl renderer: Add a clip stack
Timm Bäder [Sun, 30 Dec 2018 14:25:01 +0000 (15:25 +0100)]
gl renderer: Add a clip stack

So we can check that the currently set clip is the first one and now
intersect with it. This first clip is always the entire viewport or the
entire render_area and we don't want to end up drawing things to a
texture because of it.

7 years agopicture: Avoid some unnecessary signal connections
Timm Bäder [Fri, 21 Dec 2018 08:26:38 +0000 (09:26 +0100)]
picture: Avoid some unnecessary signal connections

We don't need to ever invalidate the picture size if the paintable tells
us its size is static. Same for the contents.

7 years agoimage: Remove private struct from public header
Timm Bäder [Fri, 21 Dec 2018 08:14:20 +0000 (09:14 +0100)]
image: Remove private struct from public header

7 years agoCellAccessible: Fix return type of row|column_span
Daniel Boles [Sun, 30 Dec 2018 18:15:11 +0000 (18:15 +0000)]
CellAccessible: Fix return type of row|column_span

See:
 * c876c74eb73fe6daa279b42f9e0a9566ba1ced87
 * 63e0eb5de5d5a14afadebab31fe679beb6706cb2

7 years agoUpdate Catalan translation
Jordi Mas [Sat, 29 Dec 2018 08:31:36 +0000 (09:31 +0100)]
Update Catalan translation

7 years agodocs: Clarify the section on dependencies
Emmanuele Bassi [Fri, 28 Dec 2018 18:43:45 +0000 (18:43 +0000)]
docs: Clarify the section on dependencies

7 years agodocs: Clarify the section on commit access
Emmanuele Bassi [Mon, 15 Oct 2018 09:48:05 +0000 (10:48 +0100)]
docs: Clarify the section on commit access

The section is about rules for direct commit access to the upstream
repository, so let's be more clear about it.

7 years agodocs: Clarify autoclosing issues syntax
Emmanuele Bassi [Mon, 15 Oct 2018 09:46:35 +0000 (10:46 +0100)]
docs: Clarify autoclosing issues syntax

Link to the GitLab documentation, and clarify that if no single commit
in a merge requests closes an issue, you should add a reference to the
issue in the commit message anyway.

7 years agodocs: Make the contribution guide slightly more friendly
Emmanuele Bassi [Wed, 10 Oct 2018 15:42:15 +0000 (16:42 +0100)]
docs: Make the contribution guide slightly more friendly

This is an important document for newcomers, so we should err on the
side of being more detailed on what kind of contributions we expect,
and how we expect them.

The text is heavily modelled on the contributing-template by Nadia
Eghbal available here:

  https://github.com/nayafia/contributing-template

7 years agodocs: Move commit style docs to the contribution guide
Emmanuele Bassi [Wed, 26 Sep 2018 13:53:32 +0000 (14:53 +0100)]
docs: Move commit style docs to the contribution guide

There's no point in having a separate file detailing how commits ought
to work, considering we already have a contribution guide.

7 years agoUpdate Catalan translation
Jordi Mas [Fri, 28 Dec 2018 08:55:51 +0000 (09:55 +0100)]
Update Catalan translation

7 years agoUpdate Catalan translation
Jordi Mas [Tue, 25 Dec 2018 08:57:57 +0000 (09:57 +0100)]
Update Catalan translation

7 years agoUpdate Catalan translation
Jordi Mas [Mon, 24 Dec 2018 16:38:01 +0000 (17:38 +0100)]
Update Catalan translation

7 years agoMerge branch 'fix-typo-win32-compilation-speedup-macro-gtk4' into 'master'
Christoph Reiter [Sat, 22 Dec 2018 17:54:08 +0000 (17:54 +0000)]
Merge branch 'fix-typo-win32-compilation-speedup-macro-gtk4' into 'master'

Win32: Fix typo on compilation speedup macro define [Gtk4]

See merge request GNOME/gtk!473

7 years agoAnnotate values of PRIORITY constants
Tomasz Miąsko [Sat, 22 Dec 2018 00:00:00 +0000 (00:00 +0000)]
Annotate values of PRIORITY constants

g-ir-scanner incorrectly evaluates macro definition that include
references to other macro definitions. Provide a correct value as an
annotation.

Differences in generated gir files:

```diff
@@ -19017 +19017 @@
-    <constant name="PRIORITY_REDRAW" value="20" c:type="GDK_PRIORITY_REDRAW">
+    <constant name="PRIORITY_REDRAW" value="120" c:type="GDK_PRIORITY_REDRAW">
@@ -74229,3 +74229,3 @@
     </constant>
-    <constant name="PRIORITY_RESIZE" value="10" c:type="GTK_PRIORITY_RESIZE">
+    <constant name="PRIORITY_RESIZE" value="110" c:type="GTK_PRIORITY_RESIZE">
       <doc xml:space="preserve">Use this priority for functionality related to size allocation.
@@ -106786,3 +106786,3 @@
     <constant name="TEXT_VIEW_PRIORITY_VALIDATE"
-              value="5"
+              value="125"
               c:type="GTK_TEXT_VIEW_PRIORITY_VALIDATE">
```

See !472

7 years agoUpdate Catalan translation
Jordi Mas [Sat, 22 Dec 2018 09:33:41 +0000 (10:33 +0100)]
Update Catalan translation

7 years agoWin32: Fix typo on compilation speedup macro define
Luca Bacci [Fri, 21 Dec 2018 23:48:10 +0000 (00:48 +0100)]
Win32: Fix typo on compilation speedup macro define

There is a typo, the correct macro to define is WIN32_LEAN_AND_MEAN.
After this change <shellapi.h> must be included in order to use
ExtractIconExW().

7 years agomediastream: Fix possible memory leak
Mohammed Sadiq [Thu, 20 Dec 2018 04:56:56 +0000 (10:26 +0530)]
mediastream: Fix possible memory leak

@error is (transfer full).  So the error passed should be freed if not used

7 years agorevealer: Fully set the target state if unmapped during animation
Carlos Garnacho [Wed, 19 Dec 2018 18:26:04 +0000 (19:26 +0100)]
revealer: Fully set the target state if unmapped during animation

If the revealer is told do animate and then unrealize itself, we do
(correctly) stop the animation, but used to do a shortcut where we
just set the target state as current.

Other things are dependent on the animation properly finishing though,
like the contained widget child visibility. This may lead to inconsistent
state where gtk_revealer_get_child_revealed() returns TRUE but the child
widget is unmapped, or vice-versa.

Fully finish the animation here, so the child state is coherent the next
time the revealer is mapped. We can also skip notifying on the property
since it will be handled by gtk_revealer_set_position().

7 years agox11: make the tool lookup dependent on the hw id as well
Peter Hutterer [Fri, 14 Dec 2018 05:28:29 +0000 (15:28 +1000)]
x11: make the tool lookup dependent on the hw id as well

Tools on the same physical item have the same serial number, so the eraser
and the pen part of a single pen share that serial number. With the current
lookup code, we'll always return whichever tool comes first into proximity.

Change the code to use the hw id in addition to the serial number, this way we
can differ between two tools.

7 years agox11: don't add unknown tools to our list
Peter Hutterer [Fri, 14 Dec 2018 04:57:26 +0000 (14:57 +1000)]
x11: don't add unknown tools to our list

Generic tools (Bamboo, built-in tablets) always have the same serial number
assigned by the wacom driver. This includes the touch tool when the wacom
driver handles the touch evdev node (common where users require the wacom
gestures to work).

When the first device is the touch device, a tool is created with that serial.
All future tools now return the touch tool on lookup since they all share the
same serial number. Worse, this happens *across* devices, so the pen
event node gets assigned the touch tool because they all have the same serial.

Since we don't actually care about the touch as a tool, let's skip any unknown
tool. This captures pads as well.

7 years agox11: get the tool type from the wacom driver properties
Peter Hutterer [Fri, 14 Dec 2018 03:58:19 +0000 (13:58 +1000)]
x11: get the tool type from the wacom driver properties

Any wacom device currently sets the tool type to UNKNOWN. The wacom driver has
a property that exports the tool type as one of stylus, eraser, cursor, pad or
touch. Only three of those are useful here but that's better than having all
of them as unknown.

7 years agobuild: wrap IM protocol building under have_wayland altogether
Carlos Garnacho [Tue, 18 Dec 2018 19:51:22 +0000 (20:51 +0100)]
build: wrap IM protocol building under have_wayland altogether

We poke variables that might not be defined if the wayland backend
is disabled.

7 years agoimwayland: Respect maximum length of 4000 Bytes on strings being sent.
Carlos Garnacho [Thu, 6 Dec 2018 16:05:43 +0000 (17:05 +0100)]
imwayland: Respect maximum length of 4000 Bytes on strings being sent.

Hitting the limit will raise protocol errors.

7 years agoimwayland: Plug leaks
Carlos Garnacho [Tue, 30 Oct 2018 20:57:09 +0000 (21:57 +0100)]
imwayland: Plug leaks

The various strings (pending/current preedit, surrounding, and commit
buffer) are being leaked in the case of GtkIMContext destruction.

7 years agoimwayland.c: fix formatting
Dorota Czaplejewicz [Wed, 17 Oct 2018 12:51:07 +0000 (12:51 +0000)]
imwayland.c: fix formatting

7 years agoimwayland: rearrange functions to remove prototypes
Dorota Czaplejewicz [Tue, 16 Oct 2018 16:38:24 +0000 (16:38 +0000)]
imwayland: rearrange functions to remove prototypes

7 years agoimwayland: Handle enter and leave events
Dorota Czaplejewicz [Tue, 16 Oct 2018 16:29:08 +0000 (16:29 +0000)]
imwayland: Handle enter and leave events

Before this patch, imwayland would assume that text-input enter and leave events follow the general (wl_keyboard) focus, and was unable to handle the situation where they would not be provided at the same time.

7 years agoimwayland: Collect return value from ::delete-surrounding signal
Carlos Garnacho [Fri, 28 Sep 2018 15:47:56 +0000 (17:47 +0200)]
imwayland: Collect return value from ::delete-surrounding signal

There's not much we can do about the signal not being handled, but
we should fetch the return value anyway.

7 years agoimwayland: Don't reset serial while text-input is alive
Dorota Czaplejewicz [Fri, 14 Sep 2018 20:31:55 +0000 (20:31 +0000)]
imwayland: Don't reset serial while text-input is alive

The serial number is a persistent property of the text-input object.

7 years agoimwayland: Fix clearing of preedit text in webkitgtk
Dorota Czaplejewicz [Tue, 11 Sep 2018 12:12:28 +0000 (12:12 +0000)]
imwayland: Fix clearing of preedit text in webkitgtk

Fixes webkitgtk misbehaviour as outlined in https://gitlab.gnome.org/GNOME/gtk/issues/1316#note_312942 , which was introduced in 49b17e6c.
The preedit will be cleared on exit only if it is already present.

7 years agoimwayland: Fix clearing of preedit text
Dorota Czaplejewicz [Mon, 10 Sep 2018 08:32:23 +0000 (08:32 +0000)]
imwayland: Fix clearing of preedit text

Fixes terminal emulator misbehaviour as outlined in https://gitlab.gnome.org/GNOME/gtk/issues/1316, which was introduced in 49b17e6c. The original commit cleared preedit text by setting it to an empty string, which still counted as existing preedit. The fix sets preedit string to null, which is correctly understood as not present.

7 years agomodules: Check current context before retrieving surrounding
Carlos Garnacho [Fri, 7 Sep 2018 14:54:13 +0000 (16:54 +0200)]
modules: Check current context before retrieving surrounding

There may be situations where this might get called while the
currently focused context just went away (eg. after setting the
text widget unsensitive).

Closes: #1317
7 years agoimwayland: clear preedit on focus out
Dorota Czaplejewicz [Thu, 23 Aug 2018 10:32:11 +0000 (12:32 +0200)]
imwayland: clear preedit on focus out

7 years agoimwayland: Add text-input-unstable-v3 support
Dorota Czaplejewicz [Thu, 29 Mar 2018 17:49:10 +0000 (19:49 +0200)]
imwayland: Add text-input-unstable-v3 support

The wayland input module now represents text-input-unstable-v3 support, while the old module supporting gtk-text-input was renamed to gtkwayland.

7 years agogstmedia: Implement error handling.
Benjamin Otte [Tue, 18 Dec 2018 01:04:54 +0000 (02:04 +0100)]
gstmedia: Implement error handling.

I wonder who forgot that.
Whoops.

7 years agomediastream: Allow multiple calls to gtk_media_stream_error()
Benjamin Otte [Tue, 18 Dec 2018 01:04:16 +0000 (02:04 +0100)]
mediastream: Allow multiple calls to gtk_media_stream_error()

Just ignore all further ones.

7 years agoa11y: Fix function return type
Benjamin Otte [Tue, 18 Dec 2018 00:20:36 +0000 (01:20 +0100)]
a11y: Fix function return type

Typo right there.